作成者: Harshil Patel、Prabudh Chakravorty
*編集部より: 本調査にご協力いただいた GitHub チームに心より感謝いたします。本調査で取り上げた悪意のある GitHub リポジトリはすべて、GitHub に報告され、既に削除されています。デジタル バンキングは利便性を高める一方で、サイバー犯罪者の格好の標的となっています。 バンキング型トロイの木馬は、デジタル時代の「見えないスリ」のような存在であり、銀行口座や暗号資産ウォレットを表示している間に、密かに認証情報を盗み出します。今回は、Astaroth という非常に厄介な亜種について取り上げます。このマルウェアでは、GitHub を悪用して、検知を回避するという巧妙な手口が使われています。マカフィーの脅威調査チームは、インフラストラクチャを悪用した手法をさらに進化させた Astaroth の新キャンペーンを新たに発見しました。従来のコマンド アンド コントロール (C2) サーバーのみに依存するのではなく、攻撃者は GitHub リポジトリを利用してマルウェアの構成データを仕掛けています。法執行機関やセキュリティ研究者が C2 インフラストラクチャを遮断しても、Astaroth は GitHub から新たな構成データを取得し、活動を継続します。これは、犯罪者があなたの自宅の予備の鍵を近所に隠しておき、いつでも再度侵入できるようにしているようなものです。たとえ鍵を交換しても、犯罪者には別の侵入方法が残されています。
重要な調査結果
- マカフィーは、GitHub を悪用してマルウェアの構成データを仕掛ける新たな Astaroth 攻撃キャンペーンを確認しました。
- 感染は、フィッシング メールから始まります。このフィッシング メールには、圧縮された Windows ショートカット (.lnk) ファイルをダウンロードさせるリンクが含まれています。このファイルが実行されると、Astaroth マルウェアがシステムにインストールされます。
- Astaroth は、利用者が銀行や暗号資産の Web サイトにアクセスするとそれを検知し、キーロギング手法を用いて認証情報を盗み出します。
- 盗まれた情報は、Ngrok リバース プロキシを経由して攻撃者に送信されます。
- Astaroth は、C2 サーバーにアクセスできなくなった場合、GitHub を利用して構成を更新します。その際、GitHub 上に画像を仕掛け、ステガノグラフィを用いてこの情報を目に見えない形で画像に埋め込みます。
- その GitHub リポジトリは GitHub に報告され、削除されました。
重要な対策
- 不明な送信元からのメールに含まれる添付ファイルやリンクは開かないでください。
- 可能であれば、銀行の Web サイトで 2 要素認証 (2FA) を使用してください。
- ウイルス対策ソフトは常に最新の状態に更新しておくことが重要です。
地理的な発生状況
Astaroth は、ブラジル、メキシコ、ウルグアイ、アルゼンチン、パラグアイ、チリ、ボリビア、ペルー、エクアドル、コロンビア、ベネズエラ、パナマといった多くの南米諸国を標的にしています。さらに、ポルトガルとイタリアも標的しています。しかし、直近の攻撃キャンペーンでは、主にブラジルを中心に展開されているようです。
図 1: 地理的な発生状況
まとめ
Astaroth は、南米地域を主な標的とするパスワード窃取型マルウェアの一種です。 このマルウェアは GitHub を悪用して構成ファイルを仕掛け、主要な C2 サーバーにアクセスできなくなった際には、GitHub を堅牢なバックアップ基盤として機能させています。マカフィーは調査結果を GitHub に報告し、同社のセキュリティ調査チームと連携して悪意のあるリポジトリを削除し、一時的に活動を妨害しました。
技術的分析
図 2: 感染チェーン
フィッシング メール
攻撃は、被害者に送信されるメールから始まります。そのメールには zip ファイルをダウンロードさせるサイトへのリンクが含まれています。DocuSign、履歴書などを題材とするメールを用いて、被害者を誘導し zip ファイルをダウンロードさせています。
図 3: フィッシング メール
図 4: フィッシング メール
図 5: フィッシング メール
JavaScript ダウンローダー
ダウンロードされた zip ファイルには LNK ファイルが含まれています。その中には mshta.exe を使って実行される難読化された JavaScript コマンドが仕込まれています。 このコマンドは、次の URL からさらに JavaScript コードを取得します。
解析を困難にするために、リンクには地域制限が設けられており、標的にされた地域からのみアクセスできるようになっています。 ダウンロードされた JavaScript は、その後、ランダムに選ばれたサーバーから一連のファイルを ProgramData にダウンロードします。
図 6: ダウンロードされたファイル
各ファイルの詳細を説明します。 「Corsair.Yoga.06342.8476.366.log」は、AutoIT でコンパイルされたスクリプトです。「Corsair.Yoga.06342.8476.366.exe」は、AutoIT インタープリターです。 「stack.tmp」は、暗号化されたペイロード (Astaroth) です。 「dump.log」は、暗号化されたマルウェア構成です。AutoIt スクリプトは JavaScript によって実行され、JavaScript は AutoIt プロセスのメモリ上にシェルコードを構築しロードします。
シェルコード解析
図 7: AutoIt スクリプト構築シェルコード
このシェルコードには 3 つのエントリポイントがあり、そのうちの 1 つである $LOADOFFSET を使用して DLL をメモリ上にロードします。シェルコードを実行するために、スクリプトは Kernel32: LocalCompact をフックし、そこからエントリポイントへジャンプさせます。
図 8: LocalCompact API のフック
シェルコードの $LOADOFFSET は、DLL をメモリにロードするために使用される一連の API を解決することから始まります。API アドレスは、シェルコード メモリの先頭にあるジャンプ テーブルに格納されます。.
図 9: シェルコードが解決する API
DLL ファイル (Delphi) をロードするために、ここでシェルコードが作成されます。この DLL が最終的なペイロードを復号化し、新しく作成された RegSvc.exe プロセスに挿入します。 s.
ペイロード解析
ペイロードである Astaroth マルウェアは Delphi で記述されており、さまざまな解析回避技術を使用します。解析されていることを検知すると、システムを強制終了します。 Astaroth マルウェアはシステム内で次のツールを確認します。
図 10: 解析ツールのリスト
また、システムのロケールが米国や英語に関連していないことを確認します。 毎秒、ブラウザなどのプログラム ウィンドウを確認し、そのウィンドウが前面にあり、かつ銀行関連のサイトが開かれている場合は、キーボード イベントをフックして入力内容を取得します。
図 11: キーボード イベントのフック
ウィンドウ クラス名に chrome、ieframe、mozilla、xoff、xdesk、xtrava、sunawtframe のいずれかを含むプログラムが標的となります。多くの銀行関連のサイトが標的にされています。その一部を以下に示します。 caixa.gov.br safra.com.br Itau.com.br bancooriginal.com.br santandernet.com.br btgpactual.com 暗号資産関連のサイトが標的になっているケースも確認されています。 etherscan.io binance.com bitcointrade.com.br metamask.io foxbit.com.br localbitcoins.com
C2 通信およびインフラストラクチャ
盗まれた銀行認証情報やその他の情報は、カスタム バイナリ プロトコルを用いて C2 サーバーに送信されます。
図 12: C2 通信
Astaroth の C2 インフラストラクチャとマルウェア構成は以下のとおりです。
図 13: C2 インフラストラクチャ
マルウェアの構成データは暗号化された dump.log に格納されており、以下のデータが保存されています。 d :
図 14: マルウェアの構成データ
構成データは 2 時間ごとに更新されます。構成を更新するための URL から画像ファイルを取得し、その画像内に隠された構成データを抽出することで行われます。 hxxps://bit[.]ly/4gf4E7H —> hxxps://raw.githubusercontent[.]com//dridex2024//razeronline//refs/heads/main/razerlimpa[.]png 画像ファイルは、次の形式で構成データを格納することによって、その内容を隠しています。 当社は同様のパターンを持つ画像ファイルを含む GitHub リポジトリをさらに発見し、GitHub に報告しました。その結果、GitHub はそれらを削除しました。
継続動作の仕組み
継続して動作させるために、Astaroth はスタートアップ フォルダーに LNK ファイルを埋め込みます。システムの起動時にその LNK ファイルが AutoIT スクリプトを実行してマルウェアを起動させます。
マカフィーのカバレッジ
マカフィーは Astaroth に対して広範なカバレッジを有しています。 Trojan:Shortcut/SuspiciousLNK.OSRT Trojan:Shortcut/Astaroth.OJS Trojan:Script/Astaroth.DL Trojan:Script/Astaroth.AI Trojan:Script/AutoITLoader.LC!2 Trojan:Shortcut/Astaroth.STUP
侵害指標
IOC | Hash / URL |
メール | 7418ffa31f8a51a04274fc8f610fa4d5aa5758746617020ee57493546ae35b70 7609973939b46fe13266eacd1f06b533f8991337d6334c15ab78e28fa3b320be 11f0d7e18f9a2913d2480b6a6955ebc92e40434ad11bed62d1ff81ddd3dda945 |
ZIP URL | https://91.220.167.72.host.secureserver[.]net/peHg4yDUYgzNeAvm5.zip |
LNK | 34207fbffcb38ed51cd469d082c0c518b696bac4eb61e5b191a141b5459669df |
JS ダウンローダー | 28515ea1ed7befb39f428f046ba034d92d44a075cc7a6f252d6faf681bdba39c |
ダウンロード サーバー | clafenval.medicarium[.]help sprudiz.medicinatramp[.]click frecil.medicinatramp[.]beauty stroal.medicoassocidos[.]beauty strosonvaz.medicoassocidos[.]help gluminal188.trovaodoceara[.]sbs scrivinlinfer.medicinatramp[.]icu trisinsil.medicesterium[.]help brusar.trovaodoceara[.]autos gramgunvel.medicoassocidos[.]beauty blojannindor0.trovaodoceara[.]motorcycles |
AutoIT コンパイル済みスクリプト | a235d2e44ea87e5764c66247e80a1c518c38a7395291ce7037f877a968c7b42b |
インジェクター dll | db9d00f30e7df4d0cf10cee8c49ee59a6b2e518107fd6504475e99bbcf6cce34 |
ペイロード | 251cde68c30c7d303221207370c314362f4adccdd5db4533a67bedc2dc1e6195 |
スタートアップ LNK | 049849998f2d4dd1e629d46446699f15332daa54530a5dad5f35cc8904adea43 |
C2 サーバー | 1.tcp.sa.ngrok[.]io:20262 1.tcp.us-cal-1.ngrok[.]io:24521 5.tcp.ngrok[.]io:22934 7.tcp.ngrok[.]io:22426 9.tcp.ngrok[.]io:23955 9.tcp.ngrok[.]io:24080 |
構成データの更新用 URL | https://bit[.]ly/49mKne9 https://bit[.]ly/4gf4E7H https://raw.githubusercontent[.]com/dridex2024/razeronline/refs/heads/main/razerlimpa.png |
構成データを含む画像をホスティングしている GitHub リポジトリ | https://github[.]com/dridex2024/razeronline https://github[.]com/Config2023/01atk-83567z https://github[.]com/S20x/m25 https://github[.]com/Tami1010/base https://github[.]com/balancinho1/balaco https://github[.]com/fernandolopes201/675878fvfsv2231im2 https://github[.]com/polarbearfish/fishbom https://github[.]com/polarbearultra/amendointorrado https://github[.]com/projetonovo52/master https://github[.]com/vaicurintha/gol |